#pragma once
#include<assert.h>
#include<vector>

namespace H
{
	class String
	{
	public:String(const char* str = "")
		:_size(strlen(str))
		,_capacity(_size)
	{
		_str = new char[_size + 1];
		strcpy(_str, str);
	}

	~String()
	{
		delete[] _str;
		_str = nullptr;
		_size = _capacity = 0;
	}

	const char* c_str()
	{
		return _str;
	}
	private:
		char* _str;
		int _size;
		int _capacity;
	};

	void test()
	{
		String s1("hello world");
		cout << s1.c_str() << endl;
	}
}




